
$(function() {
     prevenirEnter();
    $("span.help-block").removeClass("help-block");
    $("span.error").addClass("help-inline");
    
});



var cont = 0;
var contador;
var porcentaje;
var msg;



/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} Formulario
 * guarda los _form_modal por ajax para contacto, tarea, oportunidad, evento y cobranza
 * @modificacion David Paredes <dparedes@tradesystem.com.ec>
 */
function AjaxAtualizacionInformacion(Formulario)
{
//    BloquearBotonesModal(Formulario);
    ajaxHasError({url: $(Formulario).attr('action'), data: $(Formulario).serialize(),
        errorCall: function(data) {
            if (data.data != '')
            {
                erroresFormulario(data, Formulario);
            }
            else
            {
                erroresFormulario(data, Formulario, true);
            }


        }

    });
}
var offsetSuma = 0;

function encerarErrores(Formulario) {
    $inputs = ($(Formulario + ' input '));
    $selects = ($(Formulario + ' select '));
    $spans = ($(Formulario + ' span '));
    $inputs.each(function(element, valor) {
        if ($(valor).parent().has('label')) {
            divControlGroup = $(valor).parent().parent().parent('.control-group');
//            divControlGroup.removeClass('success');
            divControlGroup.removeClass('error');
            $(Formulario + ' span.help-inline').html('');
            $('#DynamicFormModel_' + element + '_em_').html('');
        }
        divControlGroup = $(valor).parent().parent('.control-group');
//        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
        $('#DynamicFormModel_' + element + '_em_').html('');
//        console.log(element);
    });
    $selects.each(function(element, valor) {
        divControlGroup = $(valor).parent().parent('.control-group');
//        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
        $('#DynamicFormModel_' + element + '_em_').html('');
    });
    $spans.each(function(element, valor) {
        console.log(valor);
        divControlGroup = $(valor).parent().parent('.control-group');
//        divControlGroup.removeClass('success');
        divControlGroup.removeClass('error');
        $(Formulario + ' span.help-inline').html('');
        $('#DynamicFormModel_' + element + '_em_').html('');
    });

}



/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * consulta si los datos tiene errores
 * @param {type} Formulario
 * @returns {undefined}
 * @modificacion David Paredes <dparedes@tradesystem.com.ec>
 */
function ajaxHasError(options) {
    $.ajax({
        type: "POST",
        dataType: 'json',
        url: options.url,
        data: options.data,
        beforeSend: function(xhr) {
        },
        success: function(data) {
            if (data.success) {

                if (options.SuccessCall)
                {
                    options.SuccessCall(data);
                }
                 $(location).attr('href', baseUrl +'nosey/default/index');
//                console.log(data);
////                window.location.href = jsonParsedObject.redirect;
//                $(location).attr('href',data.redirectUrl);
            } else {
//                if(cont<contador)
                {
                    options.errorCall(data);
                }

            }
        }

    });
}


function erroresFormulario(data, Formulario, validador) {
    encerarErrores(Formulario);
    $inputs = ($(Formulario + ' input '));
    $selects = ($(Formulario + ' select '));
    if (!validador)
    {
        $.each(data.data, function(index, element) {
            $("select#DynamicFormModel_" + index).parent().parent('.control-group').addClass('error');
            $('#DynamicFormModel_' + index + '_em_').css('display', '');
            $('#DynamicFormModel_' + index + '_em_').html(element);

        });
        $.each(data.data, function(index, element) {
            $("input[name='DynamicFormModel[" + index + "]'] ").parent().parent('.control-group').addClass('error');
            if ($("input[name='DynamicFormModel[" + index + "]'] ").parent().hasClass('checkbox'))
            {
                $("input[name='DynamicFormModel[" + index + "]'] ").parent().parent().parent('.control-group').addClass('error');
            }
            $('#DynamicFormModel_' + index + '_em_').css('display', '');
            $('#DynamicFormModel_' + index + '_em_').html(element);

        });
    }


    $selects.each(function(element, valor) {
        divControlGroup = $(valor).parent().parent('.control-group');
        if (!divControlGroup.hasClass('error'))
        {
//            divControlGroup.addClass('success');

        }

    });

    $inputs.each(function(element, valor) {

        divControlGroup = $(valor).parent().parent('.control-group');
        if (!divControlGroup.hasClass('error'))
        {
//            divControlGroup.addClass('success');

        }
    });
//    preguntaEncuestaNext(Formulario);

}

function prevenirEnter() {
//    alert();
    $('input').bind('keypress', function(e) {
        if (e.keyCode == 13) {
            var currentTabIndex = $(this).attr('tabindex');
            
            // Le sumamos 1 :P
            var nextTabIndex = parseInt(currentTabIndex) + 1;
            var prevTabIndex = parseInt(currentTabIndex) - 1;
            // Obtenemos (si existe) el siguiente elemento usando la variable nextTabIndex
            var nextField = $('[tabindex=' + nextTabIndex + ']');
            var prevField = $('[tabindex=' + prevTabIndex + ']');
            // Si se encontró un elemento:
            if (nextField.length > 0)
            {
                // Hacerle focus / seleccionarlo
                nextField.focus();
                // Ignorar el funcionamiento predeterminado (enviar el formulario)
                event.preventDefault();
            }
            else
            {
                prevField.focus();
                event.preventDefault();
            }

        }
    });
}






